The present invention relates generally to data storage systems and more particularly to recovery in a data storage system when a primary system goes offline.
It is very popular to use RAID (redundant array of inexpensive disks) techniques in disk storage systems in order to secure the reliability and availability of data. In general, when disk storage systems create a RAID volume, they use several physical disk drives and store the divided data according to one of a number of RAID-defined techniques. There are six basic RAID levels:
RAID level 0 employs a data xe2x80x9cstripingxe2x80x9d technique in which data is partitioned into a number of stripes which are stored across two or more disks. This RAID level does not provide for disk failure conditions.
RAID level 1 uses a data xe2x80x9cmirroringxe2x80x9d technique in which data is written to a primary disk and is also mirrored onto another disk. This technique realizes fifty percent efficiency in storage since only one-half of the total storage capacity is available.
RAID level 2 stripes data in bits or bytes and reads or writes the data to the disks in parallel. The data is used to create a hamming code which is stored in a separate disk drive, is used to provide error-correction.
RAID level 3 partitions a data block into stripes which are then striped across multiple disk drives. A separate parity drive is used to store the parity bytes associated with the data block. The parity drives can be used to reproduce data from a failed drive.
RAID level 4 writes an entire data block to a drive, and the corresponding parity data for the block is written on another drive.
RAID level 5 partitions a data block into stripes which are then striped across multiple disk drives. The corresponding parity information is also striped across the disk drives.
Some disk storage systems have an additional function which is to create multiple copy volumes (secondary volumes) for one primary RAID volume autonomously. This function is called xe2x80x9cmultiple volume mirroring.xe2x80x9d Multiple volume mirroring has several characteristics including:
system administrators create xe2x80x9cvolume mirroring groupsxe2x80x9d which are comprised of one primary volume and one or more secondary volumes;
when a host system writes data to a primary volume, the disk control unit automatically writes the same data to the corresponding secondary volumes;
when a system administrator wants to use the data from a primary volume, she can use the data from an associated secondary volume instead of the primary volume. To accomplish this, the system administrator performs a xe2x80x9csplitxe2x80x9d operation of the selected secondary volume from the volume mirroring groups.
An advantage of multiple volume mirroring in computer systems is that it maintains the performance of host I/O accesses. For example, suppose that the host system(s) perform online transactions by accessing data from a primary volume. Suppose also that concurrent data backup operations of the primary volume are being performed. If the same primary volume is accessed for both handling online requests and performing backups, the host(s) would not be able to maintain the I/O throughput with the primary volume necessary to adequately handle online transactions in a real-time manner.
However, the performance of the primary volume can be maintained in a multiple volume mirroring arrangement by splitting one of the secondary volumes from the mirroring group and using it for the backup function. Host transactions continue concurrently without taking a performance hit.
Current disk systems which support a multiple volume mirroring function have a problem. When a primary volume fails or is taken offline for some reason, online transactions must cease, even though there may be several secondary volumes in that disk system. In order to re-assign one of the secondary volumes to take over the role of the primary volume, the system administrator must effectuate a split of the selected secondary volume. This requires that the system administrator take down the disk system in order to bring the secondary volume online. This can result in unacceptable delays in online transaction processing, for example, in a real-time financial processing system. There is a need for an improved disk system.
A disk system and access method in accordance with the invention includes a plurality of physical disk drives organized into plural disk groups. Each disk group is further organized into plural logical volumes. A data processing unit provides data mirroring among a mirroring group comprising one of the logical volumes, deemed as the primary volume, and one or more of the remaining logical volumes, deemed as secondary volumes. A data store contains information about the organization of the physical disk drives into disk groups and logical volumes. The data processing unit operating under the control of programming code performs input/output operations to provide data transfer between the disk system and one or more host systems. A failure of a disk group containing a primary volume is detected, and in response thereto, an available secondary volume is selected as a failover volume. The selection is based on the data contained in the data store. The selection method includes a consideration of whether a candidate secondary volume resides on the same disk group. Another consideration is whether a candidate secondary volume is split from the mirroring group.